﻿using System.Linq;
using ZBJF.Warranty.Common.Enums.Base;
using ZBJF.Warranty.Model;
using ZBJF.Warranty.Model.ViewModel.InsuranceWarranty;

namespace ZBJF.Warranty.IBLL
{
    public partial interface IInsuranceProductAuditProjectConfigurationSnapshootService
    {
        /// <summary>
        /// 审核配置快照
        /// </summary>
        /// <param name="insuranceOrderId">保单表InsuranceOrder主键ID</param>
        /// <param name="serviceProjectType">保险信息类型：和ServiceProductType是同一个枚举，根据ServiceProjectType去不同的表取数据，比如手机维修保险信息，就去CellPhoneInsuranceInfo表取</param>
        /// <returns></returns>
        bool CreateSnapshoot(long insuranceOrderId, ServiceProductType serviceProjectType);

        /// <summary>
        /// 获取审核配置
        /// </summary>
        /// <param name="insuranceOrderServiceProjectId">选择的是哪个服务项目</param>
        /// <param name="serviceProjectType">保险信息类型：和ServiceProductType是同一个枚举，根据ServiceProjectType去不同的表取数据，比如手机维修保险信息，就去CellPhoneInsuranceInfo表取</param>
        /// <param name="auditProjectWithType"></param>
        /// <returns></returns>
        IQueryable<InsuranceProductAuditProjectConfigurationSnapshoot> GetAuditProjectConfigurationList(long insuranceOrderServiceProjectId, ServiceProductType serviceProjectType, byte auditProjectWithType = 0);
    }
}